package cn.itcast.dao.system;

import cn.itcast.domain.system.Module;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 */
public interface ModuleDao {
	//查询全部
	List<Module> findAll();

    //根据id查询
    Module findById(String moduleId);

	//更新用户
	int update(Module module);

    //根据id删除
    int delete(String moduleId);

    //添加用户
    int save(Module module);

	//根据角色id，查询次角色所有的模块
	List<Module> findByRoleId(String roleId);

	//根据角色id，删除角色模块中间表数据
	void deleteRoleModule(String roleId);

	//向角色模块中间表中保存数据
	void saveRoleModule(@Param("roleId") String roleId, @Param("moduleId") String moduleId);

	//根据belong查询所有模块
	List<Module> findByBelong(int belong);

	//根据用户id，查询用户可操作的所有模块
	List<Module> findByUserId(String userId);
}